	\chapter{Estimaciones del proyecto}
		\section{Datos históricos}
		Nos hemos basado en parte en datos recabados por parte de la mujer de Íñigo, que trabaja en el sector. Así, nos ha ayudado a comparar el objetivo de nuestro proyecto (la aplicación) con otras ya existentes, reforzando las caracteristicas existentes y añadiendo las carencias que había detectado.
		En cuanto al proyecto en sí, aunque nosotros no podemos aportar experiencia, sí que hemos consultado los proyectos realizados en años anteriores por otros grupos para tomar idea de qué había que hacer en cada punto.
		\section{Técnicas de estimación}
Para la estimación del proyecto se han utilizado técnicas de descomposición mediante puntos de función, usando COCOMO II como modelo paramétrico de estimación.
Esta tarea se ha llevado a cabo basándonos en la especificación de requisitos, previamente redactados, confiando en que servirán para hacer una planificación lo más 
precisa posible. Al igual que en dicha especificación, también en este proceso la aplicación ha sido dividida en módulos, para su mejor manejo. Así, han sido 
considerados cuatro módulos distintos: Clientes, Empleados, Tienda y Almacén Central. Para todos ellos se establece un coste mensual por trabajador de 2500\$/mes. 

Los resultados que proporciona COCOMO II estiman que la productividad es de 114.3 líneas por persona y mes para todos los módulos. Según el coste que hemos estipulado 
anteriormente, se prevé que el coste total del proyecto rondará los 164587.87\$ en el caso más probable, siendo 21,9 el coste medio por instrucción. En lo que respecta 
al tamaño del programa, el número de líneas de código estará en torno a las 8000 (7897 según COCOMO II), siendo de 152 su estimación de horas por persona y mes, 
y 14.3 el tiempo, en meses, que determina que durará el desarrollo de nuestro software. Luego, procedemos al cálculo de los factores de escala (Scale factor) y de 
ajuste (EAF), de la siguiente manera:

\subsection{Factor de escala \emph{(scale factor)}}
	\begin{itemize}
		 \item Precedencia y Flexibilidad del desarrollo: Como el equipo está compuesto por desarrolladores noveles en su totalidad, el campo de precedencia 
	(precedentedness) se ha fijado con el valor ``muy bajo" (VLO). Por otro lado, el proyecto está sujeto a unos requisitos fijos, por lo que el desarrollo del 
	mismo no podrá salirse mucho de ese esquema. Es por eso que el campo de flexibilidad en el desarrollo se ha declarado como ``bajo" (LO).
		\item Arquitectura y determinación del riesgo: Según los análisis de riesgos realizados por el equipo de desarrollo, se determina que el valor de este campo
	debe ser ``alta" (HI).
		\item Cohesión del equipo: Para este campo se ha determinado que, dado que los integrantes del equipo nunca han trabajado juntos en un desarrollo de estas
	características (si bien se conocen, y conocen los métodos de trabajo de cada uno), el valor de este campo debe ser ``bajo" (LO).
		\item Madurez del proceso: Basándonos en el CMM Maturity Model, hemos llegado a la conclusión de que el proyecto se encuentra en el Nivel 2 (Repetible), por 
	lo tanto el desarrollo está en una fase de madurez media, y es ese el valor de este campo.
  	\end{itemize}
\subsection{Factor de ajuste del esfuerzo (EAF)}
	\begin{itemize}
		\item Producto: Los campos de confiabilidad requerida (RELY) y el referente al tamaño de la base de datos (DATA) se han establecido como ``alto" (HI), 
	el resto se dejan en valor nominal (NOM).
		\item Platform: En este caso los tres apartados se dejan en valor nominal (NOM), ya que se considera que tanto las restricciones de tiempo de ejecución y
	almacenamiento, como la volatilidad de la plataforma se encuentran en valores medios.
		\item Personal: La capacidad de analistas y personal se declaran como ``bajas'', dada la poca experiencia del equipo de desarrollo. De la misma forma,
	también se estiman como ``bajo'' los campos de experiencia con las aplicaciones (APEX) y el lenguaje (LTEX). El resto de valores se dejan en su valor nominal.
		\item Proyecto: Se estima que no van a usarse muchas herramientas de software, por lo que el campo de herramientas (TOOL) se completa con ``bajo" (LO).
	Como los integrantes del equipo de desarrollo se encuentran trabajando juntos en el mismo lugar día a día, y por lo tanto tienen una comunicación plena, el 
	valor de el campo de desarrollo multisitio (SITE) se dejará en ``bajo'' (LO).
	\end{itemize}
		Con estos datos, COCOMO II determina que el factor de escala queda en 22.14, y el factor de ajuste de esfuerzo en 2.28.

		\begin{figure}[H]
			\centering
			\includegraphics[scale=0.7]{EAF.png}
			\caption{Parámetros para el cálculo del EAF}
		\end{figure}

		\begin{figure}[H]
			\centering
			\includegraphics[scale=0.8]{scaleFactor.png}
			\caption{Parámetros para el factor de escala}
		\end{figure}

		\begin{figure}[H]
			\centering
			\includegraphics[scale=0.7]{cocomoII.png}
			\caption{Estimación con COCOMO II
		\end{figure}
\section{Clasificación de ficheros}
	\subsection{Módulo clientes}
		\begin{itemize}
			\item Clientes (FLI)
				\begin{enumerate}
					\item DET: Nombre, primer apellido, segundo apellido, tienda habitual, edad , fecha alta, talla, e-mail, teléfono, tarjeta de crédito, vale de descuento.
					\item RET: Datos personales, datos del cliente.
					\item Complejidad: Baja.
				\end{enumerate}
			\item Alta Cliente (INPUT)
				\begin{enumerate}
					\item DET: Nombre, primer apellido, segundo apellido, tienda habitual, edad , fecha alta, talla, e-mail, teléfono, tarjeta de crédito, vale de descuento.
					\item FTR: Cliente.
					\item Complejidad: Baja.
				\end{enumerate}
			\item Baja Cliente (INPUT)
				\begin{enumerate}
					\item DET: Nombre, primer apellido, segundo apellido, tienda habitual, edad , fecha alta, talla, e-mail, teléfono, tarjeta de crédito, vale de descuento.
					\item FTR: Cliente
					\item Complejidad: Baja.
				\end{enumerate}
			\item Eliminar duplicados (INPUT)
				\begin{enumerate}
					\item DET: Nombre, primer apellido, segundo apellido, tienda habitual, edad , fecha alta, talla, e-mail, teléfono, tarjeta de crédito, vale de descuento.
					\item FTR: Cliente
					\item Complejidad: Baja.
				\end{enumerate}
			\item Modificar Cliente (INPUT)
				\begin{enumerate}
					\item DET: Nombre, primer apellido, segundo apellido, tienda habitual, edad , fecha alta, talla, e-mail, teléfono, tarjeta de crédito, vale de descuento.
					\item FTR: Cliente
					\item Complejidad: Baja.
				\end{enumerate}
			\item Notificar Novedades (OUTPUT)
				\begin{enumerate}
					\item DET: De cliente (Nombre, primer apellido, segundo apellido, tienda habitual, edad , fecha alta, talla, e-mail, teléfono), tarjeta de crédito, vale de descuento.
				De prenda (Año, temporada, diseñador, precio, stock, talla, foto).
					\item FTR: Cliente, Prenda.
					\item Complejidad: Alta.
				\end{enumerate}
			\item Estadísticas sobre compras (QUERIE)
				\begin{enumerate}
					\item DET: De cliente(Nombre, primer apellido, segundo apellido, tienda habitual, edad , fecha alta, talla, e-mail, teléfono, tarjeta de crédito, vale de descuento)
			De venta(Fecha, Cliente, Prendas)
			De prenda(año, temporada, diseñador, precio, talla, foto).
					\item FTR: Cliente,Venta, Prenda.
					\item Complejidad: Alta.
				\end{enumerate}
		\end{itemize}
	\subsection{Módulo empleados}
		\begin{itemize}
			\item Empleado (FLI)
				\begin{enumerate}
					\item DET:Nombre, primer apellido, segundo apellido, DNI, puesto, depto., tienda, edad , sueldo, antigüedad, comentarios, contraseña, foto.
					\item RET: Datos personales, datos de trabajo. 
					\item Complejidad: Baja.
				\end{enumerate}
			\item Alta Empleado (INPUT)
				\begin{enumerate}
					\item DET: Nombre, primer apellido, segundo apellido, DNI, puesto, depto., tienda, edad , sueldo, antigüedad, comentarios, contraseña, foto.
					\item FTR: Empleado.
					\item Complejidad: Baja.
				\end{enumerate}
			\item Baja Empleado (INPUT)
				\begin{enumerate}
					\item DET: Nombre, primer apellido, segundo apellido, DNI, puesto, depto., tienda, edad , sueldo, antigüedad, comentarios, contraseña, foto.
					\item FTR: Empleado.
					\item Complejidad: Baja.
				\end{enumerate}
			\item Modificar Empleado (INPUT)
				\begin{enumerate}
					\item DET: Nombre, primer apellido, segundo apellido, DNI, puesto, depto., tienda, edad , sueldo, antigüedad, comentarios, contraseña, foto.
					\item FTR: Empleado.
					\item Complejidad: Baja.
				\end{enumerate}
			\item Consultar Empleado (QUERIE)
				\begin{enumerate}
					\item DET: Nombre, primer apellido, segundo apellido, DNI, puesto, depto., tienda, edad , sueldo, antigüedad, comentarios, contraseña, foto.
					\item FTR: Empleado.
					\item Complejidad: Baja.
				\end{enumerate}
			\item Eliminar Empleado (INPUT)
				\begin{enumerate}
					\item DET: Nombre, primer apellido, segundo apellido, DNI, puesto, depto., tienda, edad , sueldo, antigüedad, comentarios, contraseña, foto.
					\item FTR: Empleado.
					\item Complejidad: Baja.
				\end{enumerate}
		\end{itemize}
		
	\subsection{Módulo tienda}
		\begin{itemize}
			\item Prenda (FLI)
				\begin{enumerate}
					\item DET: Año, temporada, diseñador, precio, stock, tallas, zona tienda, foto, codigo de barras.
					\item RET: Información sobre prendas. 
					\item Complejidad: Baja.
				\end{enumerate}
			\item Tienda (FLI)
				\begin{enumerate}
					\item DET: Descripción, zonas, prendas
					\item RET: Información sobre la tienda. 
					\item Complejidad: Baja.
				\end{enumerate}
			\item Venta (FLI)
				\begin{enumerate}
					\item DET: Fecha, cliente, empleado, prenda(s), número de factura, comentarios.
					\item RET: Información sobre la venta. 
					\item Complejidad: Baja.
				\end{enumerate}
			\item Alta Almacén (INPUT)
				\begin{enumerate}
					\item DET: De la prenda(Año, temporada, diseñador, precio, stock, tallas, zona tienda, foto, codigo de barras.)
				De la tienda(Zona, prenda).
					\item FTR: Prenda, Tienda.
					\item Complejidad: Media.
				\end{enumerate}
			\item Baja Almacén (INPUT)
				\begin{enumerate}
					\item DET: De la prenda(Año, temporada, diseñador, precio, stock, tallas, zona tienda, foto, codigo de barras.)
				De la tienda(Zona, prenda).
					\item FTR: Prenda, Tienda.
					\item Complejidad: Media.
				\end{enumerate}
			\item Modificar Inventario (INPUT)
				\begin{enumerate}
					\item DET: De la prenda(Año, temporada, diseñador, precio, stock, tallas, zona tienda, foto, codigo de barras.)
				De la tienda(Zona, prenda).
					\item FTR: Prenda, Tienda.
					\item Complejidad: Media.
				\end{enumerate}
			\item Consultar Inventario (QUERIE)
				\begin{enumerate}
					\item DET: De la prenda(Año, temporada, diseñador, precio, stock, tallas, zona tienda, foto, codigo de barras.)
				De la tienda(Zona, prenda).
					\item FTR: Prenda, Tienda.
					\item Complejidad: Media.
				\end{enumerate}
			\item Vender (INPUT)
				\begin{enumerate}
					\item DET: De la prenda(Año, temporada, diseñador, precio, stock, tallas, zona tienda, foto, codigo de barras)
				De la tienda(prenda).
				Del cliente(Nombre, primer apellido, segundo apellido, edad , talla, e-mail, teléfono).
				Del empleado(Nombre, primer apellido, segundo apellido, DNI, puesto, depto., tienda, edad).
					\item FTR: Prenda, Tienda, Empleado, Cliente. 
					\item Complejidad: Alta.
				\end{enumerate}
			\item Pagar con tarjeta (INPUT)
				\begin{enumerate}
					\item DET: De cliente (tarjeta de crédito). 
					\item FTR: Cliente
					\item Complejidad: Baja.
				\end{enumerate}
			\item Pagar con vale (INPUT)
				\begin{enumerate}
					\item DET: De cliente (Vale de descuento)
					\item FTR: Cliente.
					\item Complejidad: Baja.
				\end{enumerate}
			\item Imprimir factura (OUTPUT)
				\begin{enumerate}
					\item DET: De prenda (Precio, código de barras, talla, año, temporada, diseñador).
				De empleado(nombre, primer apellido, segundo apellido)
					\item FTR: Prenda, Empleado.
					\item Complejidad: Baja.
				\end{enumerate}
			\item Consultar ventas (QUERIE)
				\begin{enumerate}
					\item DET: De prenda (Año, temporada, diseñador, precio, stock, tallas, código de barras).
				De cliente (Nombre, Primer Apellido, Segundo Apellido, edad , talla)
					\item FTR: Prenda, Cliente.
					\item Complejidad: Baja.
				\end{enumerate}
			\item Consultar ventas general (QUERIE)
				\begin{enumerate}
					\item DET: De prenda (Año, temporada, diseñador, Precio, Stock, Tallas, código de barras).
				De cliente (Nombre, primer apellido, segundo apellido, edad , talla)
					\item FTR: Prenda, Cliente.
					\item Complejidad: Baja.
				\end{enumerate}	
			\item Hacer devolución (INPUT)
				\begin{enumerate}
					\item DET: De prenda (Año, temporada, diseñador, precio, stock, tallas, zona tienda, foto, código de barras).
				De cliente (Nombre, primer apellido, segundo apellido, tienda habitual, edad , fecha alta, talla, e-mail, teléfono)
					\item FTR: Prenda, Cliente.
					\item Complejidad: Baja.
				\end{enumerate}	
			\item Modificar visual (INPUT)
				\begin{enumerate}
					\item DET: De prenda (Zona tienda).
				De tienda(Zonas, Prendas).
					\item FTR: Prenda, Tienda.
					\item Complejidad: Baja.
				\end{enumerate}
		\end{itemize}
		
	\subsection{Módulo almacén central}
		\begin{itemize}
			\item Almacén central (FLI)
				\begin{enumerate}
					\item DET: Prendas
					\item RET: Información sobre prendas 
					\item Complejidad: Baja.
				\end{enumerate}
			\item Alta Almacén Central (INPUT)
				\begin{enumerate}
					\item DET: De la prenda(Año, temporada, diseñador, precio, stock, tallas, zona tienda, foto, código de barras.)
				Del almacén(prendas).
					\item FTR: Prenda, Almacén Central.
					\item Complejidad: Media.
				\end{enumerate}
			\item Baja Almacén Central (INPUT)
				\begin{enumerate}
					\item DET: De la prenda(Año, temporada, diseñador, precio, stock, tallas, zona tienda, foto, código de barras.)
				Del almacén(prendas).
					\item FTR: Prenda, Almacén Central.
					\item Complejidad: Media.
				\end{enumerate}
			\item Modificar Almacén Central (INPUT)
				\begin{enumerate}
					\item DET: De la prenda(Año, temporada, diseñador, precio, stock, tallas, zona tienda, foto, código de barras.)
				Del almacén(Prendas).
					\item FTR: Prenda, Almacén Central.
					\item Complejidad: Media.
				\end{enumerate}
			\item Consultar Almacén Central (QUERIE)
				\begin{enumerate}
					\item DET: De la prenda(año, temporada, diseñador, precio, stock, tallas, zona tienda, foto, código de barras.)
				Del almacén(prendas).
					\item FTR: Prenda, Almacén Central.
					\item Complejidad: Media.
				\end{enumerate}
		\end{itemize}